package com.deyuanyun.pic.pbf.controller.dto.defect.measure;

import com.deyuanyun.pic.common.util.ObjectUtil;
import com.deyuanyun.pic.common.util.format.NumberFormat;
import com.deyuanyun.pic.pbf.domain.DefectInfo;
import com.deyuanyun.pic.pbf.domain.DefectMeasure;

/**
 * 1，“金属损失”缺陷测量记录
 *
 * @author hlw
 * @date 2016-6-28
 *
 * History: [修改人][时间][修改描述]
 */
public class MetaLossMeasureDto extends MeasureDto<DefectMeasure> {

    /**
     * 绝对距离
     */
    private String mileage;

    /**
     * 长（mm）
     */
    private String length;

    /**
     * 宽（mm）
     */
    private String width;

    /**
     * 深（mm）
     */
    private String depth;

    /**
     * 峰值深度（%wt）
     */
    private String maxDepth;

    /**
     * 时钟位置
     */
    private String clock;

    /**
     * 实测：长（mm）
     */
    private String actualLength;

    /**
     * 实测：宽（mm）
     */
    private String actualWidth;

    /**
     * 实测：深（mm）
     */
    private String actualDepth;

    /**
     * 实测：峰值深度（%wt）
     */
    private String actualMaxdepth;

    /**
     * 实测：时钟位置
     */
    private String actualClock;

    /**
     * 是否完成该节点任务：0，没有完成；1，已经完成
     */
    private Short isCompletion;

    public Short getIsCompletion() {
        return isCompletion;
    }

    public void setIsCompletion(Short isCompletion) {
        this.isCompletion = isCompletion;
    }

    public MetaLossMeasureDto(DefectInfo defectInfo, Short isCompletion) {
        super(defectInfo);
        this.isCompletion = isCompletion;
    }

    public String getMileage() {
        return mileage;
    }

    public void setMileage(String mileage) {
        this.mileage = mileage;
    }

    public String getLength() {
        return length;
    }

    public void setLength(String length) {
        this.length = length;
    }

    public String getWidth() {
        return width;
    }

    public void setWidth(String width) {
        this.width = width;
    }

    public String getDepth() {
        return depth;
    }

    public void setDepth(String depth) {
        this.depth = depth;
    }

    public String getMaxDepth() {
        return maxDepth;
    }

    public void setMaxDepth(String maxDepth) {
        this.maxDepth = maxDepth;
    }

    public String getClock() {
        return clock;
    }

    public void setClock(String clock) {
        this.clock = clock;
    }

    public String getActualLength() {
        return actualLength;
    }

    public void setActualLength(String actualLength) {
        this.actualLength = actualLength;
    }

    public String getActualWidth() {
        return actualWidth;
    }

    public void setActualWidth(String actualWidth) {
        this.actualWidth = actualWidth;
    }

    public String getActualDepth() {
        return actualDepth;
    }

    public void setActualDepth(String actualDepth) {
        this.actualDepth = actualDepth;
    }

    public String getActualMaxdepth() {
        return actualMaxdepth;
    }

    public void setActualMaxdepth(String actualMaxdepth) {
        this.actualMaxdepth = actualMaxdepth;
    }

    public String getActualClock() {
        return actualClock;
    }

    public void setActualClock(String actualClock) {
        this.actualClock = actualClock;
    }

    public void fromDomain(DefectMeasure domain) {

        if (ObjectUtil.isEmptyAll(domain)) {
            return;
        }

        // 赋值
        super.fromDomain(domain);

        // 绝对距离
        this.mileage = NumberFormat.format(defectInfo.getMileage());
        // 长（mm）
        this.length = NumberFormat.format(defectInfo.getLength());
        // 宽（mm）
        this.width = NumberFormat.format(defectInfo.getWidth());
        // 深（mm）
        this.depth = NumberFormat.format(defectInfo.getDepth());
        // 峰值深度（%wt）
        this.maxDepth = NumberFormat.format(defectInfo.getMaxDepth());
        // 时钟位置
        this.clock = defectInfo.getClock();
        // 实测：长（mm）
        this.actualLength = NumberFormat.format(domain.getActualLength());
        // 实测：宽（mm）
        this.actualWidth = NumberFormat.format(domain.getActualWidth());
        // 实测：实测：深（mm）
        this.actualDepth = NumberFormat.format(domain.getActualDepth());
        // 实测：峰值深度（%wt）
        this.actualMaxdepth = NumberFormat.format(domain.getActualMaxdepth());
        // 实测：时钟位置
        this.actualClock = domain.getActualClock();
    }
}